package done.easy_501_600;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 520. Detect Capital  检测大写字母
 * <p>
 * 给定一个单词，你需要判断单词的大写使用是否正确。
 * 我们定义，在以下情况时，单词的大写用法是正确的：
 * <p>
 * 全部字母都是大写，比如"USA"。
 * 单词中所有字母都不是大写，比如"leetcode"。
 * 如果单词不只含有一个字母，只有首字母大写， 比如 "Google"。
 * 否则，我们定义这个单词没有正确使用大写字母。
 * <p>
 * 示例 1:
 * 输入: "USA"
 * 输出: True
 * 示例 2:
 * 输入: "FlaG"
 * 输出: False
 *
 * @author 大硕
 * 2019-03-29 9:56 PM
 **/
@Slf4j
public class DetectCapital {

    @SuppressWarnings("all")
    public boolean detectCapitalUse(String word) {
        // 190329 first
        return false;
    }

    @Test
    public void test() {
        log.info("{}", detectCapitalUse("Google"));
    }
}






























/*
public boolean detectCapitalUse(String word) {
    // 首字母是否大写
    boolean startWithCapital = word.charAt(0) <= 'a';

    // 除首字母外的所有字母全是大写和全是小写
    // 全大写标志
    boolean allCapital = true;
    // 全小写标志
    boolean allLowerCase = true;

    // 一个字符接一个字符的排查
    for (int i = 1; i < word.length(); i++) {
        // 如果是>'a'的 都是小写字母，全大写就不可能了
        if (word.charAt(i) >= 'a') {
            if (!allLowerCase) {
                return false;
            }
            allCapital = false;
        } else {
            //如果有一个大写字母 全小写就不可能了
            if (!(startWithCapital && allCapital)) {
                return false;
            }
            allLowerCase = false;
        }
    }
    return true;
}
*/
